home *** CD-ROM | disk | FTP | other *** search
/ The Glitch Apple Disk Collection / 2014.glitch.apple.collection.zip / indexed / IFRSIM.DSK / LOST IN LA.bas < prev    next >
BASIC Source File  |  2014-09-09  |  4KB  |  141 lines

  1. 5  REM        COPYRIGHT 1982
  2. 6  REM      BY VERNON BROWN AND
  3. 7  REM    PROGRAMAMERS SOFTWARE
  4. 9  REM 
  5. 10  REM  ***********************
  6. 11  REM  * LOST IN LOS ANGELES *
  7. 12  REM  *     FROM SEED       *
  8. 13  REM  *                     *
  9. 14  REM  * USED TO CREATE NEW  *
  10. 15  REM  * IFR SITUATIONS FOR  *
  11. 16  REM  * PROGRAMMERS FLIGHT  *
  12. 17  REM  *     SIMULATOR       *
  13. 18  REM  ***********************
  14. 19  REM 
  15. 20 S = 100:S1 = 0:UP = 24579
  16. 70 ST = 24576:O1 = ST +56:O2 = ST +58:I1 = ST +60:I2 = ST +61:MA = ST +12:X1 = ST +26:Y1 = ST +28:AL = ST +87
  17. 120 SH = ST +09:PL = ST +06:LI = ST +15:XY = ST +18:DF = ST +39:CH = ST +93:WS = ST +42:WW = ST +43:WN = ST +44:WE = ST +45
  18. 170  REM 
  19. 220  REM   PX = PICTURE OFFSET     XL = POINTER TABLE LOW BYTE  XH = POINTER TABLE HIBYTE   XX = DOIT FLAG
  20. 270  REM 
  21. 320 PX = 27388:XL = 27389:XH = 27390:XX = 27391: POKE PX,00: POKE XL,00: POKE XH,72: POKE XX,00
  22. 370  REM 
  23. 420  REM 
  24. 470 XC = 150:YC = 66:XF = 97:YF = 38:TX = 70:TY = 47
  25. 520  TEXT : GOSUB 5570
  26. 570 MT = 15:GAS = 0:MI = 0:SE = 0:S1 = 0
  27. 620  REM 
  28. 670  REM   SET UP WIND DRIFT
  29. 720  REM 
  30. 770  POKE WN,0: POKE WE,0: POKE WS,0: POKE WW,0
  31. 820 A% =  RND(1) *4:B% =  RND(1) *50
  32. 870  ON A% GOTO 920,970,1020,1070
  33. 920  POKE WN,B%: GOTO 1120
  34. 970  POKE WE,B%: GOTO 1120
  35. 1020  POKE WS,B%: GOTO 1120
  36. 1070  POKE WW,B%: GOTO 1120
  37. 1120  CALL ST
  38. 1170  POKE O1,32: POKE O2,32: POKE I1,48: POKE I2,48
  39. 1220  REM 
  40. 1270  REM 
  41. 1320  REM  OMNI MESSAGE AND
  42. 1370  REM  STARTING X Y CORD
  43. 1420  REM 
  44. 1470  VTAB 22: REM   OMNI MESSAGE
  45. 1520  POKE X1, RND(1) *150 +50: POKE Y1, RND(1) *100 +30
  46. 1570  REM 
  47. 1620  REM  STARTING ALTITUDE
  48. 1670  REM 
  49. 1720  POKE AL,16: POKE AL -3,32:MA% = 2
  50. 1770  REM 
  51. 1820  REM 
  52. 1870  CALL UP
  53. 1920 S1 = S1 +1: IF S1 >S  THEN 2170
  54. 1970  GOTO 1870
  55. 2020  REM  
  56. 2070  REM    UPDATE THE CLOCK
  57. 2120  REM  
  58. 2170 S1 = 0:SE = SE +1: IF SE <60  THEN 2320
  59. 2220 SE = 0:MI = MI +1:GA = GA +1: IF GA = MT  THEN 4870
  60. 2270  CALL UP
  61. 2320  HTAB 1: VTAB 24: PRINT HO;":";MI;":";SE;"     ";: CALL UP
  62. 2370  REM 
  63. 2420  REM    MOVE THE PICTURE
  64. 2470  REM 
  65. 2520  REM 
  66. 2570  REM   DO THE ADF AND OMNI
  67. 2620  REM 
  68. 2670 X =  PEEK(X1):Y =  PEEK(Y1)
  69. 2720 IX = XF -X:IY = YF -Y:DY = YC -Y -X/4:DX = XC -X +Y/2
  70. 2770 MV% = (TY -Y) *4: IF MV% < -20  OR MV% >20  THEN MV% = 40
  71. 2820  IF MV% <0  THEN MV% = 80 +MV%
  72. 2870  IF TX -X < -5  OR TX -X >10  THEN MV% = 40
  73. 2920  REM 
  74. 2970  REM  DO THE ADF
  75. 3020  REM 
  76. 3070  CALL UP
  77. 3120  IF IX = 0  THEN 3220
  78. 3170 IT = IY/IX
  79. 3220 T1 =  ATN(IT)
  80. 3270 T1% = 16 -10 *T1
  81. 3320  IF X >XF  THEN PF% = (176 -T1%) - PEEK(CH)
  82. 3370  IF X <XF  THEN PF% = (208 -T1%) - PEEK(CH)
  83. 3420  IF PF% >64  THEN PF% = PF% -64: GOTO 3420
  84. 3470  POKE DF,PF%
  85. 3520  REM 
  86. 3570  REM   DO THE OMNI
  87. 3620  REM 
  88. 3670  CALL UP
  89. 3720  IF DY < -5  THEN DY =  -6
  90. 3770  IF DY >5  THEN DY = 6
  91. 3820  IF DX < -5  THEN DX =  -6
  92. 3870  IF DX >5  THEN DX = 6
  93. 3920  IF DI >5  THEN DI = 6
  94. 3970  IF DI < -5  THEN DI =  -6
  95. 4020  POKE O1,32 -DX: POKE I1,48
  96. 4070  POKE O2,32 +DY
  97. 4120  REM 
  98. 4170  REM   DO THE GLIDE SLOPE
  99. 4220  REM 
  100. 4270  CALL UP
  101. 4320  IF  PEEK(ALT) <MA%  THEN 4870
  102. 4370 SL = X -66:DI =  PEEK(ALT) *2 -SL
  103. 4420  IF DI >5  THEN DI = 6
  104. 4470  IF DI < -5  THEN DI =  -6
  105. 4520  IF SL >40  THEN 4670
  106. 4570  IF SL < -10  THEN 4670
  107. 4620  POKE I2,48 -DI
  108. 4670  IF  PEEK(AL) >MA%  THEN 1870
  109. 4720  REM 
  110. 4770  REM   DO THE AIRPORT
  111. 4820  REM 
  112. 4870  POKE PX,MV%: POKE XX,00: CALL UP: POKE XX,01: FOR I = 1 TO 391: CALL UP: NEXT : PRINT "PUSH ANY KEY TO CONTINUE"
  113. 4880  POKE XX,00
  114. 4920  GET A$
  115. 4970  REM    FIRST THE FLIGHT PATH
  116. 5020  HGR : HCOLOR= 3: CALL 24588
  117. 5030  HPLOT 50,50
  118. 5031  HPLOT  TO 60,47
  119. 5032  HPLOT 48,53
  120. 5033  HPLOT  TO 60,50
  121. 5034  HPLOT 55,60
  122. 5035  HPLOT  TO 67,57
  123. 5036  HPLOT 55,63
  124. 5037  HPLOT  TO 67,60
  125. 5070  REM     
  126. 5120  REM    THEN THE NAV TRACK
  127. 5170  REM 
  128. 5180  FOR X = 68 TO 170:Y = 66 -X/4: HPLOT X,Y: NEXT 
  129. 5190  FOR Y = 20 TO 150:X = 150 +Y/2: HPLOT X,Y: NEXT 
  130. 5200 X = 97:Y = 38: FOR I = 1 TO 30: HPLOT X + RND(1) *5,Y + RND(1) *5: NEXT 
  131. 5270  HOME : VTAB 23: PRINT "PUSH RETURN TO FLY THIS AGAIN": PRINT "ANY OTHER KEY WILL GO BACK TO MENU": GET A$
  132. 5320  IF  ASC(A$) = 13  THEN 520
  133. 5370  PRINT  CHR$(4)
  134. 5420  PRINT  CHR$(4);"RUN MENU"
  135. 5470  END 
  136. 5520  REM 
  137. 5570  TEXT : HOME : PRINT "YOU ARE CLEARED FOR THE LOS ANGELES"
  138. 5571  PRINT : PRINT "APPROACH TO RUNWAY 24L. YOUR ETA IS"
  139. 5572  PRINT : PRINT "UP. FIND THE AIRPORT AND LAND"
  140. 5573  PRINT : PRINT "GOOD LUCK"
  141. 5620  PRINT : PRINT "HIT ANY KEY WHEN READY TO FLY": GET A$: HOME : RETURN